package com.sky.service;

import com.sky.dto.OrdersCancelDTO;
import com.sky.dto.OrdersPageQueryDTO;
import com.sky.dto.OrdersRejectionDTO;
import com.sky.dto.OrdersSubmitDTO;
import com.sky.result.PageResult;
import com.sky.vo.*;
import org.apache.http.HttpResponse;

import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;

/**
 * @author 苏成博
 * @date 2023-02-13 10:44
 */
public interface OrderService {
    OrderSubmitVO addOrder(OrdersSubmitDTO ordersSubmitDTO);

    PageResult findHistoryOrders(OrdersPageQueryDTO ordersPageQueryDTO);

    OrderVO findOrdersById(Long id);

    void cancelOrder(Long id);

    void repetitionOrder(Long id);

    void acceptOrder(Long id);

    PageResult conditionSearch(OrdersPageQueryDTO ordersPageQueryDTO);

    OrderStatisticsVO statisticsOrders();

    void cancelOrders(OrdersCancelDTO ordersCancelDTO);

    void completeOrders(Long id);

    void rejectionOrders(OrdersRejectionDTO ordersRejectionDTO);

    void deliveryOrder(Long id);

    TurnoverReportVO getTurnoverData(LocalDate begin, LocalDate end);

    OrderReportVO getOrderReportVO(LocalDate begin, LocalDate end);

    SalesTop10ReportVO getSalesTop10ReportVO(LocalDate begin, LocalDate end);

    void exportBusinessData(HttpServletResponse httpServletResponse);
}
